The present invention relates to a method and apparatus for retrieving resources from a content server over a data network and in particular, though not necessarily, to a method and apparatus for enhancing World Wide Web services.
The Internet is a global open communications network connecting a great number of local area networks, such as networks of various companies, universities and other organizations. These networks may be used by a large number of independent workstations and computer devices. An individual client may have a direct connection to these local area networks or may be connected to them through a PSTN (Public Switched Telephone Network) or an ISDN (Integrated Digital Services network) using a modem or similar device.
The two most often used communication protocols for the Internet are TCP and IP (Transport Control Protocol and Internet Protocol respectively). In most cases the service provider provides the various services by utilizing so called WWW (World Wide Web) and HTTP (HyperText Transfer Protocol) protocols to provide a graphical Internet interface for the client terminal which is typically a data processing device such as a microcomputer. The WWW contains, e.g. HTML documents (HyperText Markup Language) i. e. xe2x80x9chyperdocumentsxe2x80x9d, one such document forming one entity which can contain text, pictures, even moving pictures, sound, links to other documents and even links to other services. The skilled person is aware that xe2x80x9cservicesxe2x80x9d refers in this connection to various kinds of features, products, services such as electronic mail, electronic phone book, entertainment, assistance and advisory services etc., advertisement, games, videos and the like which are accessible through various communications networks.
It is an object of the present invention to enhance the operation of a data network content server by enabling it to communicate transparently with an external billing and authentication server or service, e.g. an Internet Service Broker, to offer value-added logistic services.
According to a first aspect of the present invention there is provided a method of downloading resources to a client from a content server over a data network, the method comprising:
sending a resource request message from the client;
intercepting the sent resource request message at a proxy located in the data network between the client and the content server;
sending a header request from the proxy to the content server requesting the content server to transmit a header, associated with the requested resource, to the proxy;
receiving the header at the proxy and determining whether or not the header contains billing and/or access restrictions;
in the event that the header does contain billing and/or access restrictions, authenticating the client""s right to receive the requested resource; and
providing the client is authenticated, delivering the resource request message from the proxy to the content server and subsequently downloading the resource from the content server to the client.
Preferably, said step of authenticating the client""s right to receive the requested resource comprises conducting an authentication dialogue with an Internet Service Broker (ISB). The ISB is a software server platform which centralizes the logistic services on behalf of other content services. These logistic services include, without limitation, client identification and authentication, access control to the network resources, unified billing interface and client identification delivery for service customization. The present invention may provide a method for implementing the interface for these logistic services for standard web server with standard HTML, such that there is no need to make any proprietary modification.
The authentication step may additionally comprise a dialogue between the ISB and the client following the setting up of the dialogue between the proxy and the ISB.
The present invention may be combined with the Internet Service Broker concept which is described in PCT/FI97/00426.
Preferably, the proxy mediates and stores or caches data to minimize loading time of commonly requested resources. When a certain hypertext document is requested several times from one or more clients, the subsequent request(s) may be met by giving the already fetched document instead of requesting it again from the original source. This generally requires confirmation that the original document has not changed between successive requests.
The proxy may be a program running on a separate computer device placed xe2x80x9cin frontxe2x80x9d of the computer device on which the content server is running. Alternatively, the proxy is a program running on the same computer as the content server. The proxy monitors the data traffic and provides the required logistic service when a certain HTTP message is detected.
According to a second aspect of the present invention there is provided a proxy for controlling billing and access in a data network, the proxy comprising;
means for intercepting a resource request message sent from a client and intended for a content server;
means for sending a header request to the content server requesting the content server to transmit a header, associated with the requested resource, to the proxy;
means for receiving the transmitted header and for determining whether or not the header contains billing and/or access restrictions;
means for authenticating the client""s right to receive the requested resource in the event that the header does contain billing and/or access restrictions; and
means for delivering the resource request message to the content server in the event that the client is authenticated.
According to a third aspect of the present invention there is provided a computer memory encoded with executable instructions representing a computer program for causing a computer system connected to a data network to operate as a proxy, the proxy operating to:
intercept a resource request message sent from a client and intended for a content server;
send a header request to the content server requesting the content server to transmit a header, associated with the requested resource, to the proxy;
receive the transmitted header and for determining whether or not the header contains billing and/or access restrictions;
authenticate the client""s right to receive the requested resource in the event that the header does contain billing and/or access restrictions; and
deliver the resource request message to the content server in the event that the client is authenticated.